πŸ€– KODING & KECERDASAN ARTIFISIAL β€’ PROYEK AKHIR β€’ GOOGLE COLAB

PROYEK AKHIR β€” MEMBUAT APLIKASI AI SEDERHANA

Pada proyek akhir, siswa menggabungkan materi Python, pengolahan data, visualisasi data, Machine Learning, classification, regression, dan konsep AI untuk membuat sebuah aplikasi sederhana yang memiliki input, proses, model atau analisis, output, serta kesimpulan.

Bagian 1

🎯 Tujuan Pembelajaran

Setelah menyelesaikan proyek akhir, siswa diharapkan mampu:

  1. Menggabungkan beberapa konsep Python yang telah dipelajari.
  2. Membaca dan menyiapkan data sederhana.
  3. Menentukan masalah yang dapat diselesaikan dengan analisis data atau Machine Learning.
  4. Membuat aplikasi sederhana di Google Colab.
  5. Menggunakan model classification atau regression sesuai kebutuhan proyek.
  6. Membuat input, proses, dan output yang jelas.
  7. Menguji program dengan beberapa contoh data.
  8. Membaca hasil model secara kritis, bukan sekadar menerima output.
  9. Membuat visualisasi bila diperlukan.
  10. Menjelaskan proses, hasil, keterbatasan, dan kesimpulan dengan bahasa sendiri.
Tujuan utama: proyek bukan hanya tentang membuat kode berjalan, tetapi menunjukkan bahwa siswa memahami masalah β†’ data β†’ proses β†’ hasil β†’ evaluasi β†’ kesimpulan.
Bagian 2

πŸ€– Gambaran Proyek Akhir

Pada pertemuan terakhir, siswa menggabungkan materi yang telah dipelajari menjadi sebuah aplikasi AI sederhana.

🐍 PythonDigunakan untuk membuat program, mengolah input, melakukan perhitungan, dan menampilkan hasil.
πŸ“Š DataDigunakan sebagai bahan analisis atau sebagai data untuk melatih dan menguji model.
🧠 Machine LearningDigunakan pada proyek yang membutuhkan prediksi atau klasifikasi.
πŸ“ˆ VisualisasiDigunakan untuk membantu memahami pola data dan menyampaikan hasil.

Komponen minimal aplikasi

Input / Dataset
β†’
Pengolahan
β†’
Model / Analisis
β†’
Output
β†’
Kesimpulan
Prinsip sederhana: orang lain yang melihat notebook Anda harus dapat memahami apa masalahnya, data apa yang dipakai, bagaimana prosesnya, dan apa arti hasilnya.
Bagian 3

πŸ”„ Alur Pengerjaan Proyek

1
Tentukan masalah.
Contoh: β€œSaya ingin memperkirakan nilai siswa berdasarkan beberapa informasi.”
2
Tentukan data.
Identifikasi kolom, jumlah data, feature, dan target jika menggunakan Machine Learning.
3
Pilih metode.
Gunakan regression untuk target angka dan classification untuk target kategori.
4
Buat program.
Tulis kode secara bertahap, bukan langsung membuat program yang sangat panjang.
5
Uji.
Masukkan beberapa contoh dan periksa apakah output masuk akal.
6
Evaluasi.
Gunakan metrik atau pemeriksaan yang sesuai dan jelaskan keterbatasannya.
7
Komunikasikan.
Tulis kesimpulan berdasarkan hasil yang benar-benar diperoleh.
Bagian 4

🧩 Pilihan Proyek

Pilih salah satu dari lima proyek berikut.

01
Prediksi Nilai SiswaInput: jam belajar, jumlah tugas, kehadiran. Output: prediksi nilai siswa.
02
Klasifikasi BungaMenggunakan dataset Iris untuk menentukan jenis bunga berdasarkan karakteristiknya.
03
Prediksi HargaInput: luas tanah, luas bangunan, jumlah kamar. Output: prediksi harga.
04
Analisis Nilai SiswaMembaca CSV, menghitung statistik, membuat grafik, dan memberikan kesimpulan.
05
AI Klasifikasi SederhanaMengklasifikasikan data menjadi dua kategori, misalnya Layak/Tidak Layak atau Kategori A/Kategori B.
Bagian 5

☁️ Persiapan di Google Colab

Gunakan Google Colab untuk membuat satu notebook khusus proyek akhir.

Struktur notebook yang disarankan

  1. Judul proyek dan nama siswa.
  2. Latar belakang masalah.
  3. Tujuan proyek.
  4. Dataset dan penjelasan kolom.
  5. Import library.
  6. Eksplorasi data.
  7. Persiapan data.
  8. Pembuatan model atau analisis.
  9. Prediksi/hasil.
  10. Evaluasi.
  11. Visualisasi.
  12. Kesimpulan.
  13. Keterbatasan dan pengembangan.

Library yang sering digunakan

import pandas as pd
import matplotlib.pyplot as plt

# Jika menggunakan Machine Learning
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, mean_absolute_error, r2_score

# Pilih sesuai proyek:
from sklearn.linear_model import LinearRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import load_iris
Catatan: tidak semua library harus digunakan. Import hanya library yang benar-benar diperlukan oleh proyek.
Bagian 6

πŸ“š Proyek 1 β€” Prediksi Nilai Siswa

Tujuan proyek adalah membuat model yang memperkirakan nilai siswa berdasarkan beberapa feature.

Input

  • jam belajar
  • jumlah tugas
  • kehadiran

Output

Prediksi nilai siswa.

Contoh dataset

Jam BelajarJumlah TugasKehadiran (%)Nilai
258068
368574
479082
589589
699894

Contoh kode

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression

# Dataset contoh
data = {
    "jam_belajar": [2,3,4,5,6,2,4,5,7,8,3,6],
    "jumlah_tugas": [5,6,7,8,9,4,6,7,10,10,5,9],
    "kehadiran": [80,85,90,95,98,78,88,93,99,100,82,97],
    "nilai": [68,74,82,89,94,65,79,87,96,98,71,92]
}

df = pd.DataFrame(data)

X = df[["jam_belajar", "jumlah_tugas", "kehadiran"]]
y = df["nilai"]

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.25, random_state=42
)

model = LinearRegression()
model.fit(X_train, y_train)

# Contoh siswa baru
siswa_baru = [[5, 8, 94]]
prediksi = model.predict(siswa_baru)

print("Prediksi nilai:", prediksi[0])
Penting: dataset di atas adalah dataset latihan sederhana. Jangan menganggap prediksi sebagai nilai sebenarnya atau sebagai dasar keputusan penting tanpa data dan validasi yang memadai.

Pengembangan

  • Tambahkan jumlah latihan.
  • Tambahkan nilai tugas atau ujian sebelumnya.
  • Buat input interaktif menggunakan input().
  • Tampilkan grafik hubungan feature dengan nilai.
  • Hitung MAE dan RΒ² pada data testing.
Bagian 7

🌸 Proyek 2 β€” Klasifikasi Bunga

Proyek ini menggunakan dataset Iris. Model belajar mengelompokkan bunga berdasarkan karakteristiknya.

Feature

  • sepal length
  • sepal width
  • petal length
  • petal width

Target

Jenis bunga Iris: setosa, versicolor, atau virginica.

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score

iris = load_iris()
X = iris.data
y = iris.target

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42, stratify=y
)

model = DecisionTreeClassifier(random_state=42)
model.fit(X_train, y_train)

y_pred = model.predict(X_test)

print("Akurasi:", accuracy_score(y_test, y_pred))

# Contoh prediksi satu bunga
contoh = [[5.1, 3.5, 1.4, 0.2]]
hasil = model.predict(contoh)[0]
print("Prediksi:", iris.target_names[hasil])
Diskusi: akurasi adalah salah satu ukuran evaluasi. Siswa perlu melihat data, cara pembagian data, jenis kesalahan, dan konteks penggunaan model.
Bagian 8

🏠 Proyek 3 β€” Prediksi Harga

Buat aplikasi untuk memperkirakan harga berdasarkan karakteristik properti.

Input

  • luas tanah
  • luas bangunan
  • jumlah kamar

Output

Prediksi harga.

import pandas as pd
from sklearn.linear_model import LinearRegression

# Contoh data latihan
# harga dinyatakan dalam juta rupiah
data = {
    "luas_tanah": [60, 72, 90, 100, 120, 150, 180, 200],
    "luas_bangunan": [45, 50, 70, 80, 90, 110, 130, 150],
    "jumlah_kamar": [2, 2, 3, 3, 3, 4, 4, 5],
    "harga": [350, 390, 500, 560, 650, 800, 950, 1100]
}

df = pd.DataFrame(data)
X = df[["luas_tanah", "luas_bangunan", "jumlah_kamar"]]
y = df["harga"]

model = LinearRegression()
model.fit(X, y)

rumah_baru = [[120, 90, 3]]
prediksi = model.predict(rumah_baru)

print("Prediksi harga:", prediksi[0], "juta rupiah")
Pengembangan: gunakan train_test_split() agar model dapat dievaluasi pada data yang tidak digunakan saat training. Tambahkan MAE/RΒ² dan grafik bila sesuai.
Bagian 9

πŸ“Š Proyek 4 β€” Analisis Nilai Siswa

Program membaca dataset CSV kemudian mengolah data tanpa harus menggunakan Machine Learning.

Target pekerjaan

  • menghitung rata-rata
  • mencari nilai tertinggi
  • mencari nilai terendah
  • membuat grafik
  • memberikan kesimpulan

Contoh membaca CSV

import pandas as pd
import matplotlib.pyplot as plt

# Ganti dengan nama file CSV Anda
# df = pd.read_csv("nilai_siswa.csv")

# Contoh data jika belum memiliki file CSV
data = {
    "nama": ["Andi", "Budi", "Citra", "Dina", "Eko"],
    "matematika": [80, 70, 90, 85, 75],
    "bahasa": [75, 80, 95, 82, 78],
    "informatika": [90, 75, 92, 88, 85]
}

df = pd.DataFrame(data)
print(df)

Menghitung statistik

kolom_nilai = ["matematika", "bahasa", "informatika"]

df["rata_rata"] = df[kolom_nilai].mean(axis=1)

print("Rata-rata kelas:")
print(df[kolom_nilai].mean())

print("\nNilai tertinggi:")
print(df[kolom_nilai].max())

print("\nNilai terendah:")
print(df[kolom_nilai].min())

print("\nSiswa dengan rata-rata tertinggi:")
print(df.loc[df["rata_rata"].idxmax(), ["nama", "rata_rata"]])

Membuat grafik

df.plot(
    x="nama",
    y="rata_rata",
    kind="bar",
    legend=False,
    title="Rata-rata Nilai Siswa"
)
plt.ylabel("Nilai")
plt.xlabel("Nama")
plt.tight_layout()
plt.show()

Kesimpulan harus berdasarkan hasil yang benar-benar terlihat pada data dan grafik. Hindari membuat kesimpulan yang tidak didukung data.

Bagian 10

🧠 Proyek 5 β€” AI Klasifikasi Sederhana

Siswa membuat model yang mengklasifikasikan data menjadi dua kategori.

Contoh kategori

Layak / Tidak LayakModel menentukan kategori berdasarkan feature yang telah dipilih.
Kategori A / Kategori BModel belajar dari contoh data berlabel untuk memprediksi label data baru.

Contoh struktur dataset

Feature 1Feature 2Target
80901
75851
45500
40550

Contoh dengan Decision Tree

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score

data = {
    "feature_1": [80,75,90,85,45,40,50,55,88,92,42,48],
    "feature_2": [90,85,95,88,50,55,48,52,92,96,45,49],
    "target": [1,1,1,1,0,0,0,0,1,1,0,0]
}

df = pd.DataFrame(data)
X = df[["feature_1", "feature_2"]]
y = df["target"]

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.25, random_state=42, stratify=y
)

model = DecisionTreeClassifier(max_depth=3, random_state=42)
model.fit(X_train, y_train)

y_pred = model.predict(X_test)
print("Akurasi:", accuracy_score(y_test, y_pred))

contoh_baru = [[70, 80]]
hasil = model.predict(contoh_baru)[0]
print("Kategori:", "Layak" if hasil == 1 else "Tidak Layak")
Penting: kategori β€œLayak/Tidak Layak” hanya contoh pembelajaran. Untuk keputusan nyata, definisi kategori, kualitas data, risiko kesalahan, dan prosedur validasi harus dipertimbangkan dengan serius.
Bagian 11

πŸ“ Template Notebook Proyek

Gunakan struktur berikut agar laporan proyek mudah dibaca.

# PROYEK AKHIR β€” APLIKASI AI SEDERHANA
# Nama:
# Kelas:
# Proyek:

# 1. LATAR BELAKANG
# Jelaskan masalah yang ingin diselesaikan.

# 2. TUJUAN
# Jelaskan tujuan aplikasi.

# 3. DATA
# Jelaskan sumber dan kolom data.

# 4. IMPORT LIBRARY

# 5. EKSPLORASI DATA

# 6. PERSIAPAN DATA

# 7. MODEL / ANALISIS

# 8. PREDIKSI / HASIL

# 9. EVALUASI

# 10. VISUALISASI

# 11. KESIMPULAN

# 12. KETERBATASAN & RENCANA PENGEMBANGAN
Saran: pisahkan penjelasan dengan kode menggunakan Markdown Cell di Google Colab. Notebook yang baik bukan hanya kumpulan kode, tetapi juga memiliki cerita yang jelas dari masalah sampai kesimpulan.
Bagian 12

πŸ”Ž Evaluasi & Pengujian

Setiap proyek harus memiliki cara untuk memeriksa apakah program bekerja dengan benar.

Untuk Regression

  • MAE
  • RΒ²
  • perbandingan nilai aktual dan prediksi
  • grafik bila relevan

Untuk Classification

  • accuracy
  • confusion matrix bila sesuai
  • precision/recall bila konteks membutuhkannya
  • pemeriksaan kesalahan prediksi

Untuk Analisis Data

  • periksa tipe data
  • periksa data kosong
  • periksa nilai yang tidak wajar
  • cek kembali hasil perhitungan
  • pastikan kesimpulan sesuai data
Uji dengan beberapa contoh: jangan hanya menjalankan satu input. Gunakan beberapa input normal dan, jika sesuai, contoh yang berada di batas agar siswa dapat melihat bagaimana program merespons.
Bagian 13

πŸ” Etika, Keterbatasan, dan Tanggung Jawab

Aplikasi AI sederhana tetap perlu digunakan secara bertanggung jawab.

PrivasiJangan memasukkan data pribadi atau data sensitif ke notebook atau layanan AI tanpa izin dan alasan yang jelas.
Kualitas dataData yang salah atau tidak lengkap dapat menghasilkan output yang menyesatkan.
BiasJika data tidak mewakili kelompok atau kondisi tertentu, hasil model dapat berbeda kualitasnya antar kondisi.
TransparansiJelaskan sumber data, metode, dan keterbatasan model.
VerifikasiOutput AI atau Machine Learning perlu diperiksa, terutama untuk keputusan penting.
Hak ciptaGunakan dataset, kode, gambar, dan sumber lain sesuai izin dan aturan yang berlaku.
Kalimat penting untuk laporan: β€œHasil model merupakan keluaran berdasarkan data dan metode yang digunakan. Hasil tersebut memiliki keterbatasan dan perlu dievaluasi sebelum digunakan untuk keputusan nyata.”
Bagian 14

πŸ“ 5 Latihan Soal

Soal 1. Jelaskan perbedaan sederhana antara regression dan classification. Berikan satu contoh masing-masing.
Lihat pedoman jawaban
Regression memprediksi angka, misalnya harga. Classification memprediksi kategori, misalnya jenis bunga.
Soal 2. Pada proyek β€œjam belajar, jumlah tugas, kehadiran β†’ nilai”, tentukan feature dan target.
Lihat jawaban
Feature: jam belajar, jumlah tugas, dan kehadiran. Target: nilai siswa.
Soal 3. Mengapa data perlu dibagi menjadi training dan testing pada proyek Machine Learning?
Lihat pedoman jawaban
Training digunakan untuk belajar, sedangkan testing membantu mengevaluasi model pada data yang tidak digunakan saat training.
Soal 4. Mengapa akurasi tidak selalu cukup untuk menilai sebuah model classification?
Lihat pedoman jawaban
Karena satu angka akurasi tidak selalu menunjukkan jenis kesalahan, distribusi kelas, atau dampak kesalahan dalam konteks tertentu. Metrik lain dapat diperlukan.
Soal 5. Sebutkan minimal tiga hal yang harus diperiksa sebelum hasil aplikasi AI digunakan untuk keputusan nyata.
Lihat contoh jawaban
Contohnya kualitas data, keterwakilan data, hasil evaluasi, jenis kesalahan, privasi, sumber data, dan keterbatasan model.
Bagian 15

πŸ› οΈ 5 Tugas Proyek

Tugas 1 β€” Prediksi Nilai Siswa

Buat aplikasi regression menggunakan minimal 20 data siswa dengan feature jam belajar, jumlah tugas, dan kehadiran. Target adalah nilai.

  1. Buat atau siapkan dataset.
  2. Eksplorasi data.
  3. Bagi training/testing.
  4. Latih model.
  5. Buat minimal 3 prediksi.
  6. Hitung MAE dan RΒ².
  7. Tulis kesimpulan dan keterbatasan.

Tugas 2 β€” Klasifikasi Bunga Iris

Gunakan dataset Iris untuk membuat aplikasi yang menentukan jenis bunga.

  1. Jelaskan empat feature.
  2. Bagi data.
  3. Gunakan model classification.
  4. Uji beberapa data.
  5. Hitung accuracy.
  6. Jelaskan minimal dua contoh kesalahan atau keterbatasan model jika ada.

Tugas 3 β€” Prediksi Harga Rumah

Buat aplikasi berdasarkan luas tanah, luas bangunan, dan jumlah kamar.

  1. Dataset minimal 20 baris.
  2. Gunakan regression.
  3. Uji minimal 3 rumah baru.
  4. Hitung MAE dan RΒ² pada data testing.
  5. Buat satu grafik yang membantu menjelaskan data atau hasil.

Tugas 4 β€” Analisis Nilai dari CSV

Gunakan dataset CSV nilai siswa.

  1. Baca CSV dengan Pandas.
  2. Hitung rata-rata.
  3. Cari nilai tertinggi dan terendah.
  4. Tentukan siswa dengan rata-rata tertinggi.
  5. Buat minimal dua grafik.
  6. Tulis minimal tiga kesimpulan berbasis data.

Tugas 5 β€” AI Klasifikasi Dua Kategori

Buat model classification sederhana untuk dua kategori, misalnya Layak/Tidak Layak atau Kategori A/Kategori B.

  1. Buat dataset minimal 30 baris.
  2. Tentukan minimal dua feature.
  3. Jelaskan bagaimana label dibuat.
  4. Bagi training/testing.
  5. Latih model.
  6. Uji data baru.
  7. Hitung evaluasi.
  8. Jelaskan risiko jika model salah mengklasifikasikan data.
Bagian 16

πŸ“‹ Checklist & Rubrik Proyek

Checklist pengumpulan

Komponen penilaian yang dapat digunakan guru

KomponenFokus
Pemahaman masalahSiswa dapat menjelaskan tujuan dan input/output proyek.
DataData relevan, struktur jelas, dan diolah dengan benar.
KodingKode terstruktur, dapat dijalankan, dan diberi penjelasan.
Model/analisisMetode sesuai dengan tujuan dan diterapkan dengan benar.
EvaluasiHasil diuji dan dibahas, termasuk keterbatasan.
VisualisasiGrafik digunakan bila membantu menjelaskan hasil.
KomunikasiKesimpulan jelas dan didukung hasil.
EtikaPrivasi, sumber data, bias, dan keterbatasan diperhatikan.

Guru dapat menyesuaikan bobot setiap komponen dengan kebutuhan kelas.

Bagian 17

🎀 Panduan Presentasi Proyek

Presentasi dapat dibuat singkat, misalnya 5–7 menit per kelompok.

  1. Masalah: apa yang ingin diselesaikan?
  2. Data: data apa yang digunakan?
  3. Metode: mengapa menggunakan regression, classification, atau analisis data?
  4. Demo: jalankan aplikasi atau tampilkan notebook.
  5. Hasil: apa yang diperoleh?
  6. Evaluasi: bagaimana mengetahui hasilnya dapat dipercaya untuk konteks latihan?
  7. Keterbatasan: apa yang belum dapat dilakukan model?
  8. Pengembangan: apa yang ingin diperbaiki jika memiliki lebih banyak waktu?
Tips presentasi: jangan hanya membaca kode. Jelaskan alur berpikir dan alasan memilih data, metode, dan cara evaluasi.
Bagian 18

πŸ’­ Refleksi Siswa

  1. Konsep Python apa yang paling banyak saya gunakan dalam proyek?
  2. Apa masalah utama yang saya coba selesaikan?
  3. Bagian data mana yang paling penting?
  4. Mengapa saya memilih metode tersebut?
  5. Bagaimana saya menguji program?
  6. Apa hasil yang paling menarik?
  7. Kesalahan apa yang saya temukan?
  8. Apa keterbatasan aplikasi saya?
  9. Apa yang akan saya perbaiki jika memiliki data lebih banyak?
  10. Bagaimana saya akan menggunakan AI secara bertanggung jawab?
Refleksi akhir: aplikasi AI sederhana adalah latihan untuk memahami proses pemecahan masalah dengan data. Hasil model perlu dibaca secara kritis dan tidak otomatis berarti keputusan yang benar.
Bagian 19

πŸ“Œ Ringkasan Proyek Akhir

  1. Tentukan masalah yang jelas.
  2. Siapkan dan pahami data.
  3. Tentukan feature dan target jika menggunakan Machine Learning.
  4. Pilih metode yang sesuai: regression, classification, atau analisis data.
  5. Bangun aplikasi secara bertahap.
  6. Uji dengan data yang sesuai.
  7. Evaluasi hasil.
  8. Gunakan visualisasi untuk membantu memahami data.
  9. Jelaskan keterbatasan.
  10. Buat kesimpulan berdasarkan bukti dari data.
Masalah
β†’
Data
β†’
Kode
β†’
Model / Analisis
β†’
Evaluasi
β†’
Kesimpulan
Kalimat kunci: β€œAI bukan hanya tentang membuat prediksi. Kita juga harus memahami data, menguji hasil, menjelaskan keterbatasan, dan menggunakan teknologi secara bertanggung jawab.”
Referensi Praktik

πŸ“š Google Colab

Gunakan Google Colab untuk membuat dan menjalankan notebook proyek akhir.

Materi Pembelajaran Koding dan Kecerdasan Artifisial β€’ Python β€’ Google Colab β€’ Proyek Akhir